Automated communication integrator

ABSTRACT

An apparatus includes a plurality of applications and an integrator having a voice recognition module configured to identify at least one voice command from a user. The integrator is configured to integrate information from a remote source into at least one of the plurality of applications based on the identified voice command. A method includes analyzing speech from a first user of a first mobile device having a plurality of applications, identifying a voice command based on the analyzed speech using a voice recognition module, and incorporating information from the remote source into at least one of a plurality of applications based on the identified voice command.

BACKGROUND

Mobile devices, such as cellular telephones or so-called smart devices,often include multiple applications such as an address book, calendar,task list, and even email that can be accessed at the same time.However, many users find it difficult or inconvenient to use even twoapplications simultaneously. For example, it is often annoying to beasked to update data in one application while otherwise working withanother application. Additionally it is often unwise to update data inan application when otherwise preoccupied (e.g., a user is asked beingasked to provide data in a calendar, address book, task list, etc. whiledriving). Accordingly, a system that is able to integrate informationinto an application while otherwise working with another application orbeing otherwise preoccupied without significant inconvenience to a useris needed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary system including a mobile device havingan integrator;

FIG. 2 illustrates an exemplary diagram of modules that may beimplemented by the integrator;

FIG. 3 illustrates an exemplary flowchart of a method executed by theintegrator; and

FIG. 4 illustrates another exemplary flowchart of a method executed bythe integrator.

DETAILED DESCRIPTION

An exemplary apparatus includes a plurality of applications and anintegrator that is configured to identify at least one command from auser and integrate information from a remote source into at least one ofthe plurality of applications based on the identified command. Thecommand may come from a voice command, button, gesture, etc. initiatedby the user. For example, using voice commands, the user is able tointegrate information from the remote source into one or moreapplications without significant inconvenience. Accordingly, the user isable to update contact information in an address book, scheduleappointments, create/edit tasks in a task list, review electronic textand voice messages, etc. from the remote source using voice commands. Asdiscussed in greater detail below, the remote sources may includeanother person, another mobile device, a remote database, a personalcomputer, a website, etc.

FIG. 1 illustrates an exemplary system 10 that includes a mobile device12, such as a cellular telephone, personal digital assistant, or anyother device capable of processing information as described herein. Themobile device 12 includes one or more applications 14 configured to beexecuted by the mobile device 12. In one exemplary approach, the mobiledevice 12 includes an integrator 16 in communication with one or more ofthe applications 14. The integrator 16 is configured to identify a voicecommand from a user, and based on the voice command, the integrator 16inputs information from one or more remote sources into one or more ofthe applications 14.

The mobile device 12 may include any number of applications 14. Forexample, the mobile device 12 may include an email application, acalendar application, a global positioning system (GPS) application, atext messaging application, an address book application, a navigatorapplication, a voice messaging application, a telephone application, aweb browser, and a task list application. However, this list is notmeant to be limiting or exhaustive. Each application 14 may storeinformation in the one or more memory storage media 18 in the mobiledevice 12. For example, one of the memory storage media 18 may storeappointments for the calendar application, while the same or anothermemory storage media 18 may store contact information for the addressbook application. The integrator 16 is configured to access informationfrom each of the memory storage media 18, as well as copy informationstored for one application to another application. For example, theintegrator 16 may be configured to access an appointment in the calendarand update the appointment to include contact information stored in theaddress book application. Other exemplary functions performed by theintegrator 16 will be explained in more detail below.

A service provider may host a remote database 20 in communication withand storing information relating to one or more remote applications 22that are also hosted by the service provider. For example, the serviceprovider may host an email application, a calendar, an address book,etc. for the user. The mobile device 12 may be configured to access theremote database 20 through a network, such as the Internet or a mobilenetwork.

A personal computer 24 may include one or more applications 26 havinginformation that may be accessed by the mobile device 12 through a wiredor wireless connection. The personal computer 24 may be a desktopcomputer, a laptop computer, a netbook, or any other computing devicecapable of executing software as described herein.

A website 28 may store information as text or computer-readable code,such as HTML, Java, Flash, etc. The website 28 may include informationabout events, such as dates, ticket availability, ticket prices, andlocations. Other information may be stored on the website 28, such asinformation about business or people, including names, addresses,telephone numbers, email addresses, etc.

A second mobile device 30 operated by a second user may storeinformation associated with one or more applications 32 in one or morememory storage media 34. The second mobile device 30 may include acellular telephone, personal digital assistant, or any other devicecapable of processing information as described herein.

The mobile device 12 may be in communication with the remote database20, the computer 24, the website 28, and/or the second mobile device 30via a wired or wireless connection. For example, the system 10 mayimplement a Plain Old Telephone Service (POTS) telephone, Voice OverInternet Protocol (VOIP) telephone, mobile telephone, “softphone,”pager, computer, Set Top Box (STB), etc. that is used by a subscriber tosend and receive communications (such as voice, text, image, video,binary data, etc.) over a communications network (e.g., Public SwitchedTelephone Network (PSTN), VOIP, cellular telephone, etc.). Thecommunications network may include multiple interconnected networks thatprovide communications services, including voice calling,packet-switched network services (including, for example, Internetaccess and/or VOIP communication services), as well as Short MessageService (SMS) messaging and Multimedia Messaging Service (MMS) messagingservices, to at least one subscriber device.

In general, computing devices such as the first mobile device 12, thepersonal computer 24, or the second mobile device 30 may employ any of anumber of well known computer operating systems, including, but by nomeans limited to, known versions and/or varieties of mobile operatingsystems, the Microsoft Windows® operating system, the Unix operatingsystem (e.g., the Solaris® operating system distributed by SunMicrosystems of Menlo Park, Calif.), the AIX UNIX operating systemdistributed by International Business Machines of Armonk, N.Y., and theLinux operating system. Mobile operating systems may include theBlackberry® operating system distributed by Research in Motion ofWaterloo, Ontario, Canada, the Windows Mobile® operating systemdistributed by the Microsoft Corporation, the Android® operating systemdistributed by Google, Inc. of Mountain View, Calif., the operatingsystem distributed by Palm, Inc. of Sunnyvale, Calif., or the operatingsystem distributed by Apple Inc. of Cupertino, Calif. The mobile devices12, 30 or the personal computer 24 may include any one of a number ofwell known computing devices, including, without limitation, a cellulartelephone, personal digital assistant, a computer workstation, adesktop, notebook, laptop, or handheld computer, or some other knowncomputing device as previously discussed.

The first and second mobile devices 12, 30, personal computer 24, and/orremote database 20 may include instructions executable by one or morecomputing devices such as those listed above. Computer-executableinstructions may be compiled or interpreted from computer programscreated using a variety of well known programming languages and/ortechnologies, including, without limitation, and either alone or incombination, Java™, C, C++, Visual Basic, Java Script, Perl, etc. Ingeneral, a processor (e.g., a microprocessor) receives instructions,e.g., from a memory, a computer-readable medium, etc., and executesthese instructions, thereby performing one or more processes, includingone or more of the processes described herein. Such instructions andother data may be stored and transmitted using a variety of knowncomputer-readable media.

A computer-readable medium (also referred to as a processor-readablemedium) includes any tangible medium that participates in providing data(e.g., instructions) that may be read by a computer (e.g., by aprocessor of a computer). Such a medium may take many forms, including,but not limited to, non-volatile media and volatile media. Non-volatilemedia may include, for example, optical or magnetic disks and otherpersistent memory. Volatile media may include, for example, dynamicrandom access memory (DRAM), which typically constitutes a main memory.Such instructions may be transmitted via wired or wireless communicationby one or more transmission media, including coaxial cables, copper wireand fiber optics, including the wires that comprise a system bus coupledto a processor of a computer. Common forms of computer-readable mediainclude, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, any other magnetic medium, a CD-ROM, DVD, any otheroptical medium, punch cards, paper tape, any other physical medium withpatterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any othermemory chip or cartridge, or any other medium from which a computer canread.

Databases, data repositories or other data stores described herein, suchas the remote database 20, may include various kinds of mechanisms forstoring, accessing, and retrieving various kinds of data, including ahierarchical database, a set of files in a file system, an applicationdatabase in a proprietary format, a relational database managementsystem (RDBMS), an object-oriented database, etc. Each such data storeis generally included within a computing device employing a computeroperating system such as one of those mentioned above, and are accessedvia a network in any one or more of a variety of manners, as is known. Afile system may be accessible from a computer operating system, and mayinclude files stored in various formats. An RDBMS generally employs theknown Structured Query Language (SQL) in addition to a language forcreating, storing, editing, and executing stored procedures, such as thePL/SQL language mentioned above.

In some examples, system elements and/or modules may be tangiblyimplemented as computer-readable instructions (e.g., software) on one ormore computing devices (e.g., mobile device 12, 30, personal computer24, remote database 20, etc.), and stored on computer readable media(e.g., memory storage media 18, 34, etc.) associated therewith (e.g.,disks, memories, etc.).

FIG. 2 illustrates an exemplary diagram of modules that may beimplemented by the integrator 16. The integrator 16 may include a voicerecognition module 36 that analyzes the user's speech. The voicerecognition module 36 may receive sound waves traveling through the airusing, for example, a microphone. The voice recognition module 36 may befurther configured to convert the sound waves to words using aspeech-to-text application. In one illustrative approach, the voicerecognition module 36 may continuously or at regular intervals listenfor commands and execute the command when spoken by the user.Alternatively, the voice recognition module 36 may be enabled by abutton on the mobile device 12, such as a push-to-record or push-to-talkbutton.

A processor 38 in communication with the voice recognition module 36,the remote database 20, the personal computer 24, and/or the secondmobile device 30 may parse the text to identify voice commands orinformation from a remote source. The processor 38 may be configured toaccess predetermined rules stored in the one or more memory storagemedia 18, and identify information after applying the predeterminedrules in response to a voice command received from the voice recognitionmodule 36. For example, the voice command may indicate which of thepredetermined rules to apply. The predetermined rules may listidentifiers or indicators of information. For example, the predeterminedrules may indicate that a string of 10 numbers in a row is a telephonenumber or that text surrounding a “@” symbol followed by a top leveldomain (e.g., “.com” or “.net”) is part of an email address.Furthermore, the integrator 16 may identify an address or location bysearching for text defined by the predetermined rules as beingassociated with known combinations of street names, cities, zip codes,and/or states with digits. The processor 38 may use these or any otheridentifiers listed in the predetermined rules to search for and identifyinformation from remote sources. Accordingly, the predetermined rulesmay be used by the integrator 16 to identify voice commands, as well asaddresses, calendar appointments, names, locations, etc., and input theidentified information into one or more of the applications 14. Theprocessor 38 may perform other functions, such as looking up contactinformation in the address book, adding/updating contact information,dialing telephone numbers, looking up appointments in the calendar,adding/updating appointments, etc. Moreover, the integrator 16 mayinclude additional modules to perform these or other functions.

A voice synthesis module 40 may be in communication with the voicerecognition module 36. The voice synthesis module 40 may be configuredto convert text from one or more applications 14 to speech. For example,the voice synthesis module 40 may receive information from the processor38 and convert the information into speech, giving the impression to theuser that the integrator 16 is reading, for example, a list ofappointments from the calendar, contact information from the addressbook, text messages, tasks, and/or emails, etc. in response to a voicecommand.

A voice training module 42 may be in communication with the voicerecognition module 36. The voice training module 42 may be used by theuser to train the voice recognition module 36 to understand specificcommands, as well as enable flexible interaction with other sources ofinformation including applications 14 and third parties, such as theuser of the second mobile device 30.

A command customization module 44 may be included with the integrator 16and may allow the user to customize the response of the integrator 16 toany of the voice commands spoken by the first user.

In one exemplary implementation, when enabled, the voice recognitionmodule 36 may listen for speech and convert the speech to text oncereceived. The processor 38 may then identify a voice command byanalyzing the text and select the appropriate application 14 based onthe voice command. Using the voice command, the processor 38 may accessinformation from a remote source such as the remote database 20, thecomputer 24, the website 28, or the second mobile device 30. Further,the processor 38 may access the predetermined rules stored in the memorystorage media 18. The processor 38 may use the predetermined rules toidentify relevant information, and the processor 38 may integrate therelevant information from the remote source into the selectedapplication 14. For example, the user may press the appropriate buttonor otherwise trigger the voice recognition module 36 to begin recordingspeech. The user may speak, “Let me put this in my appointment book”while on the phone with the second user, causing the voice recognitionmodule 36 to record the first and second user's speech and convert therecorded speech into text. The processor 38 may analyze the text todetermine whether the first user spoke a voice command or keyword. Forinstance, the processor 38 may recognize the words “appointment book”and open the calendar. The voice recognition module 36 continues torecord speech and convert the speech to text even after the voicecommand has been identified. Because the voice command indicated thatthe calendar should be opened, the processor 38 applies thepredetermined rules associated with identifying information relevant tocalendar appointments, such as names, phone numbers, dates andaddresses. With the relevant information, the processor 38 may create anew appointment in the user's calendar. The integrator 16 may beconfigured to stop performing these steps when the user speaks acommand, such as “Done,” or when the user stops talking for apredetermined amount of time.

In an alternative illustration, the user may not need to speak anycommands once the button is pressed. For example, in response to theuser pressing the button, the integrator 16, using the voice recognitionmodule 36 and processor 38, may automatically scan a current orpreviously recorded conversation and extract important information, suchas dates, times, phone numbers, names, spellings of names, addresses,and/or the conversation around this data. This important information maythen be stored by the processor 38 in the one or more memory storagemedia 18 associated with one or more applications 14 based on thecontents of the conversation. For example, identified names, addresses,and telephone numbers may be stored in the address book, while importantdates may be stored as appointments in the calendar.

Besides telephone conversations, the integrator 16 may be used toanalyze text messages, email, in-person conversations, or othersituations. In particular, in response to a voice command by the user,the integrator 16 may be configured to scan, for example, the user'semail application on the mobile device 12, or at a remote source, suchas the remote database 20 or stored on the personal computer 24. Oncescanned, the integrator 16 may identify names and contact information inemails by using the processor 38 to scan text and apply thepredetermined rules indicated by the voice command. The processor 38 maythen be configured to input that information into one or moreapplications 14, such as an address book. The integrator 16 may beconfigured to identify other information, such as dates, and place thecontents of the email into a calendar appointment.

FIG. 3 illustrates an exemplary flowchart of a method 100 executed bythe integrator 16. The method includes a step 102 of analyzing speechfrom the first user. For example, as previously discussed, the voicerecognition module 36 may capture sounds and convert the sound to textusing speech-to-text software. The method 100 may further include a step104 of identifying a voice command. Step 104 may include parsing thetext identified by the speech-to-text software for information using theprocessor 38. The processor 38 may use predetermined rules stored in amemory storage media 18 to determine if a predetermined voice commandhas been spoken, and if so, the text is parsed by the processor 38 forinformation in accordance with the command. For example, if the voicecommand indicates that the user needs to add a new appointment to thecalendar, the processor 38 uses the predetermined rules associated withidentifying dates, times, locations, etc. Alternatively, if the voicecommand indicates that the user is receiving updated contactinformation, the processor 38 accesses the predetermined rules relatingto names, telephone numbers, postal addresses, email addresses, etc.Moreover, the method 100 may include a step 106 of incorporatinginformation from a remote source into at least one of the firstapplications 14 based on the identified voice command. For example, oncethe information is identified by the processor 38, the processor 38 mayintegrate that information into one or more of the applications 14. Inone illustrative approach, if the processor 38 identifies contactinformation, the processor 38 may integrate that contact informationidentified into the address book application. Alternatively, if theprocessor 38 identifies information regarding a new calendarappointment, the processor 38 incorporates the calendar appointmentinformation into the calendar application.

FIG. 4 illustrates another exemplary method 200 that may be implementedby the integrator 16 while the user is, for example, using the mobiledevice 12. In one exemplary implementation, the user may use the mobiledevice 12 as a telephone, and the method 200 may be implemented during atelephone conversation. The method 200 may include a step 202 ofreceiving speech from the user. The integrator 16 converts the speech totext at step 204 using the voice recognition module 36. The processor 38may be configured to parse the text at step 206 and determine whether avoice command was spoken by the user at step 208. If not, the method 200returns to step 202 to continue to receive speech and the method 200repeats until a voice command is identified. Once the processor 38identifies the voice command, the method 200 moves to step 210, wherethe processor 38 applies the predetermined rules associated with thevoice command. By applying the predetermined rules, the processor 38 maythen identify information from the user's speech, and incorporate theinformation into one or more applications 14, as illustrated at step212. Accordingly, the integrator 16 may be configured to continuouslylisten for commands during telephone conversations or while the user isotherwise using the mobile device 12. This way, the integrator 16 may beconfigured to respond to the user's voice commands at any time, even ifthe user is using the telephone.

Several exemplary implementations of the system 10 previously discussedwill now be described.

The mobile device 12 may receive information from the remote source,such as the remote database 20, and integrate that data into one or moreof the applications 14. For example, the integrator 16 may be configuredto access information stored in the remote database 20 in response tovoice commands from the user and input the information from the remotedatabase 20 into one or more of the applications 14. The integrator 16may receive a voice command from the user. For example, the voicecommand may be received and identified by the voice recognition module36. Once identified, the voice command may be used to indicate whichpredetermined rule the processor 38 may apply to identify theinformation. For example, a voice command instructing the integrator 16to store contact information found in an email into an address book maycause the processor 38 to search for identifiers of contact information,such as names, addresses, telephone numbers, email addresses, etc. Theprocessor 38 may identify names based on punctuation (e.g., twocapitalized non-dictionary words in a row), addresses based on specificcombinations of letters and numbers indicating a street name, city,state, and/or zip code, telephone numbers based on strings of 7 or 10digits, and/or an email address using the “@” symbol or a top leveldomain such as “.com” or “.net”. The integrator 16 may parse the contactinformation from, for example, an email stored in the remote database20, and input that information into, for example, an address book entryor calendar appointment using the predetermined rules previouslydescribed. Any number of applications 22 may be hosted by the serviceprovider and stored in one or more remote databases 20 accessible by theintegrator 16. In addition, the integrator 16 may access the one or moreremote databases 20 for hosted email, telephone service, calendarappointments, voice commands, voice mail, calendar matching services,navigation, text messaging, information about events important to theuser, a telephone and address directory, account and paymentinformation, and backup and restore options, among others.

In another exemplary implementation, the integrator 16 of the firstmobile device 12 may be configured to access and/or retrieve informationstored in the second mobile device 30, including information associatedwith one or more applications 32 of the second mobile device 30. In thisexemplary implementation, the remote source includes the second mobiledevice 30. In response to a voice command, the integrator 16 mayintegrate information accessed from the second mobile device 30 into oneor more applications 14 of the first mobile device 12. The integrator 16may process the voice command as previously described. Further, theintegrator may access one or more memory storage media 34 and theprocessor 38 may analyze the information retrieved from the one or morememory storage media 34 to identify relevant information by applying therules identified by the voice command.

In one illustrative approach, the integrator 16 may be configured tosynchronize and/or access information associated with the applications26 of the personal computer 24, which may be the remote source. As inthe previous approaches described, the processor 38 may be configured tocommunicate with the personal computer 24, including the applications26, scan the information associated with the applications 26, andidentify the relevant information based on the predetermined rules. Inthis illustrative approach, the predetermined rules may be selected inaccordance with the voice command.

In another illustrative approach, the remote source may be the website28, and the voice command from the user may instruct the integrator 16to access the website 28 for the information. In response, theintegrator 16 may scan the text, images, html, or other code of awebsite 28 to access and/or retrieve the desired information in responseto the voice command. By way of example, if the voice command from theuser requests information about an event, including dates and locations,the integrator 16, using the processor 38, may search the website 28 forindicators of dates, such as names of months and/or strings of numbersin date formats (e.g., 1/1/2009, Jan. 1, 2009, 1 Jan. 2009, etc.). Theintegrator 16 may also identify the location by searching for known cityand state combinations or for a city names near the name or abbreviationof a state.

In one illustration, the automatic identification and integration ofimportant information discussed during the telephone call may betriggered by specific verbal commands from the user of the first mobiledevice 12 (i.e., a first user) that are recognized by the integrator 16.Furthermore, the integrator 16 of the first mobile device 12 may beconfigured to analyze speech from a user of the second mobile device 30(i.e., a second user) to identify the information to be stored in one ormore of the applications 14 of the first mobile device 12. For example,as previously discussed, the voice recognition module 36 may capture thesounds spoken by the first and second users, convert the sound to text,and the processor 38 may analyze the text to identify importantinformation. In one illustrative approach as previously discussed, theprocessor 38 may parse the text by applying the predetermined rulesbased on the voice command spoken by the first user.

For example, during a telephone call between the first user and thesecond user, the first user could state: “Let me make a note of this” ora similar command that is recognized by the integrator 16. The voicecommand may cause the integrator 16 to record, search for, and integratethe information stated by the second user during the phone call into oneor more applications 14 in the first mobile device 12. For example, inresponse to the voice command, the integrator 16 may record the seconduser's speech, convert the speech to text, scan the text to identify atelephone number, store the telephone number in the address book, scanthe text to identify a name, and store the name along with the telephonenumber stated by the second user. The integrator 16 may be configured tospeak the identified information for confirmation by the first user.Moreover, the integrator 16 may be configured to receive a new command,such as the word “Done,” after the second user has stated the necessaryinformation.

The integrator 16 may further be configured to identify informationdiscussed during a telephone call without being prompted by the firstuser. In this exemplary implementation, the integrator 16 constantlycaptures the speech, converts the speech to text, and keeps importantinformation. Therefore, if contact information including a telephonenumber, for example, is discussed during the telephone call, afterterminating the call, the first user may state a command such as “Callthat number.” Upon receiving this command, the integrator 16 may beconfigured to automatically dial the last phone number captured andidentified during the previous conversation even though the first userdid not explicitly command the integrator 16 to capture thatinformation. Likewise, the integrator 16 may be configured to generate afollow-up list of names and telephone numbers based on contactinformation discussed during one or more previous telephoneconversations either automatically or in response to the voice command.Thus, the information stated by the second user may be used to make afollow-up telephone call without requiring the first user to rememberand/or write down the name and phone number. The integrator 16 mayorganize the information in the follow-up list in various ways,including reverse chronological order by date, alphabetical by first orlast name, or any other criteria. Moreover, the integrator 16 mayautomatically implement any contact information discussed during atelephone conversation into the address book of the mobile device 12,whether prompted by the user or not.

During or after a telephone call, the integrator 16 may be furtherconfigured to store caller information, content of the call, time of thecall, and notes about other events relating to the call in the remotedatabase 20 or application 14 either automatically or in response to avoice command from the first user. This information may be used laterfor various purposes, including tracking the amount of time and otherrelevant billing and accounting information. Further, in an exemplaryimplementation where the integrator 16 records the entire telephoneconversation and converts the conversation into text, the user may beable to view a transcript of the telephone conversation. For example,the transcript may be presented to the user as part of the call log orbilling record on the service provider's website 28. Alternatively, thetranscript may be presented to the user on the mobile device 12.

The integrator 16 may also be implemented with a voice mail programprovided by the service provider and hosted on the remote database 20.For example, while the user is listening to voicemail, the user may saycommands to alter playback of the voicemail messages, such asinstructing the integrator 16 to speed up or slow down the voicemailmessage playback, allowing the user to skim or listen carefully to themessages. The user may command the integrator 16 to skip forward to thenext message or to jump to a particular message stored in the user'svoicemail based on the user's voice command. Also, the user may instructthe integrator 16 via voice command to delete the message or to storethe message in an archive. The integrator 16 may further be configuredto identify the number of the party who left the voicemail, and call thenumber in response to a voice command by the user. Moreover, theintegrator 16 may be configured to suspend playback of the message andimmediately call the party back upon the user's command. Additionally,the voice recognition module 36 may record the voicemail message andconvert the message into text. The processor 38 may analyze the text toidentify information in the voicemail. Accordingly, the integrator 16may be configured to call a number mentioned by the calling party duringthe message. The integrator 16 may similarly be configured to controlthe user's review of text messages, speech-to-text printed voicemails,email, photos, videos, and/or web sites and social networks includingdating or friendship sites.

The integrator 16 may further be configured to allow the user to defercalls to a later time either automatically or in response to a voicecommand. For example, the integrator 16 may be configured to interceptincoming telephone calls from a third party while the user is on thephone, in a meeting, or otherwise preoccupied. The integrator 16 may beconfigured to intercept the incoming call if the calendar indicates thatthe first user is busy or in response to the voice command from thefirst user. For example, the processor 38 may access the calendarapplication to determine when the user is unavailable. If unavailable,the processor 38 may disable incoming calls to the mobile device 12.

In one exemplary implementation, the integrator 16 may identify andcommunicate to the third party dates and/or times when the first userwill become available for the third party to call back. The integrator16 may further provide the third party with an option to select one ofthe dates and/or times the first user is available to return the call.For example, the processor 38 may determine from the calendar when theuser is next available to call the third party back or so the thirdparty can call back at that later time. The processor 38 may transmitthat information to the voice synthesis module 40. The voice synthesismodule 40 may then speak the determined date and/or time to the thirdparty. The processor 38 may give the third party an opportunity toconfirm the date and time to return the call. Moreover, the integrator16 may be configured to update the user's calendar with the date and/ortime selected and/or confirmed by the third party. The processor 38 maybe configured to attach a voicemail or other note to the reminder in theuser's calendar. Similarly, the integrator 16 may allow the third partyto attach notes to specific appointments or address book entries of thefirst user. These notes may be used to add additional contactinformation, such as a new phone number or new address, or provide anagenda for an upcoming meeting.

When calls from unknown parties are received by the user, the integrator16 may be configured to generate an address book entry with contactinformation, such as a phone number and caller ID information. Theintegrator 16 may further place a note in the new address book entrywith a transcript or summary of the contents of the call or voicemailleft by the unknown party. The user may then return the unknown party'scall, if desired. If the unknown party calls again, the integrator 16may place a new note in the entry or otherwise keep a record of theadditional call.

Another voice command may cause the integrator 16 to tell the user thenext available appointment time so the user can schedule additionalappointments. For example, in response to the voice command, theprocessor 38 may access the calendar in the applications 14 of themobile device 12, identify the next available appointment time byscanning the current appointments and looking for gaps in theappointments, and transmitting the next available appointment time tothe voice synthesis module 40, which audibly communicates the nextavailable appointment time to the user. This command may be executed,for example, by the first user during a conversation with the seconduser or while listening to voicemail messages. Instead of respondingdirectly to a voice command, the voice recognition module 36 may listenfor the first user and/or second user to request to schedule a follow-update. At the end of the conversation, the voice recognition module 36may transmit the agreed upon follow-up date to the processor 38, whichcreates a new appointment in the calendar application 14 of the mobiledevice 12. Moreover, the processor 38 may be configured to automaticallysend a message to the first user and/or the second user confirming thedate, time, address, and/or telephone number of the follow-upconversation or appointment using one of the applications 14, such asthe email application, the text messaging application, etc. The messagemay provide the first user and/or second user with an option toreschedule, provide additional information about the follow-upconversation or appointment (e.g., a new telephone number or address),or simply confirm that the first user and/or second user is available atthe follow-up date, time, or telephone number. The processor 38 mayidentify that parties confirmed the follow-up appointment and add thefollow-up appointment to the user's calendar. Further, the processor 38may be configured to access and integrate the identified informationinto, for example, the calendar application 32 and/or the memory storagedevice 34 of the second mobile device 30 given the appropriatepermission to do so from the first and/or second user.

The integrator 16 may be configured to respond to other voice commandsthan previously described from the first user while on a telephone callwith the second user. In one illustration, the integrator 16 may beconfigured to forward contact information, ID information, or otherinformation to the second user without the first user having to look upand/or repeat the information during the telephone call. For example,the voice recognition module 36 may receive speech from the first userand convert the speech to text. The processor 38 may parse the text toidentify voice commands, and communicate with one or more of theapplications 14, instructing the one or more applications 14 to send therequested information to the second user. The requested information maybe received by the second user and stored directly in one or moreapplications 32, such as the calendar, address book, etc., on the secondmobile device 30.

The integrator 16 described herein may be used with many types of mobiledevices 12 such as cellular telephones, beepers, personal digitalassistants (PDAs), etc. Further, the integrator 16 may be protected byvarious levels of security. For example, the integrator 16 may beconfigured to only allow authorized third parties to store and/or accessinformation about the user, including the user's calendar, address book,etc.

One illustrative example of how the integrator 16 may be used isrepresented by the following hypothetical situation although the exampleis not intended to be limiting. Lee (e.g., the first user) receives atelephone call while driving. Hector (e.g., the second user) is callingand tells Lee that he wants Lee to contact Rita to discuss an emergencythat just occurred. Lee states, “Let me get more information,” whichtriggers the integrator 16 to start recording information from the call.Lee asks “What is Rita's contact information?” Hector replies, “RitaRosario, 555-555-1212, rita at Long Branch Medical dot com.” Theintegrator 16 automatically captures this information and adds a newcontact in Lee's address book under the name Rita Rosario with phonenumber “(555) 555-1212” and email address “rita@longbranchmedical.com.”Using the voice synthesis module 40, the integrator 16 may ask Lee orHector to confirm the information. For example, the integrator 16 mayask to confirm whether “Rita” is a first name and “Rosario” is a lastname. Alternatively, the integrator 16 may ask Lee or Hector to spellRita's name or email address.

If Hector does not know Rita's contact information, Lee can command“Internet—Long Branch Medical dot com.” In response the integrator 16navigates to the Long Branch Medical website using a web browserapplication of the mobile device 12. Then, Lee may command “Get RitaRosario's contact information,” causing the processor 38 of theintegrator 16 to scan the website for contact information, and inparticular, Rita Rosario's contact information, using text recognitionsoftware and applying the predetermined rules. Once identified, theprocessor 38 stores the information from the website 28 in the addressbook, for example, of the mobile device 12. Alternatively, Hector couldtell Lee that he will email him with Rita's contact information. Lee maycommand “Open email,” causing the integrator 16 to access an emailaccount hosted by a remote service provider. The integrator 16 may thenaccess the remote applications 22 storing information in the remotedatabase 20. For example, the processor 38 may then scan the text ofLee's email in the remote application 22 for Rita Rosario's contactinformation. Once Rita's information is obtained and stored in theaddress book of the mobile device 12, the next time Lee synchronizes themobile device 12 with his personal computer 24, Rita's contactinformation is uploaded to the address book application 26 of thecomputer 24.

Lee hangs up the phone with Hector and calls Rita, but gets no answer.Lee may command “Calendar” into his phone, which triggers the integrator16 to open Lee's calendar application. Lee commands, “Tell me today'sschedule” and the integrator 16 reads “10:30 meeting with Medco, 1 PMmeeting with . . . ” using the voice synthesis module 33 until Leeinterrupts with the command, “Postpone 10:30 meeting until tomorrow.”The integrator 16 checks the Medco calendar and Lee's calendar foropenings tomorrow and finds that both are available at 3:30. Theintegrator 16 then reschedules the appointment to 3:30 tomorrow,including sending confirmation messages to both Lee and the appropriaterepresentative from Medco. Lee commands “Navigator,” and the integrator16 executes the navigator application of the mobile device 12. Leecommands “Reroute me to Long Branch Medical Center,” and the integrator16 provides Lee with verbal driving directions. Lee commands, “How muchtime to reach destination?” and hears the response, “13 minutes” fromthe integrator 16 using the voice synthesis module 33. Lee commands,“Voice message” and the integrator 16 prompts Lee for a recipient. Leecommands, “Rita Rosario.” Upon another prompt from the integrator 16,Lee records a message indicating that he will be at Long Beach MedicalCenter in less than 15 minutes. When Lee commands “Done,” the integrator16 sends the message to Rita as a voicemail.

With regard to the processes, systems, methods, heuristics, etc.described herein, it should be understood that, although the steps ofsuch processes, etc. have been described as occurring according to acertain ordered sequence, such processes could be practiced with thedescribed steps performed in an order other than the order describedherein. It further should be understood that certain steps could beperformed simultaneously, that other steps could be added, or thatcertain steps described herein could be omitted. In other words, thedescriptions of processes herein are provided for the purpose ofillustrating certain embodiments, and should in no way be construed soas to limit the claimed invention.

Accordingly, it is to be understood that the above description isintended to be illustrative and not restrictive. Many embodiments andapplications other than the examples provided would be apparent uponreading the above description. The scope of the invention should bedetermined, not with reference to the above description, but shouldinstead be determined with reference to the appended claims, along withthe full scope of equivalents to which such claims are entitled. It isanticipated and intended that future developments will occur in thetechnologies discussed herein, and that the disclosed systems andmethods will be incorporated into such future embodiments. In sum, itshould be understood that the invention is capable of modification andvariation and is limited only by the following claims.

All terms used in the claims are intended to be given their broadestreasonable constructions and their ordinary meanings as understood bythose knowledgeable in the technologies described herein unless anexplicit indication to the contrary is made herein. In particular, useof the singular articles such as “a,” “the,” “said,” etc. should be readto recite one or more of the indicated elements unless a claim recitesan explicit limitation to the contrary.

1-20. (canceled)
 21. An apparatus comprising: A mobile device having aplurality of applications and configured to: receive a first voicecommand from a user that causes the mobile device to access a first unitof information; access the first unit of information from at least oneapplication of the plurality of applications; provide a first feedbackto the user based at least in part on the first unit of informationaccessed from at least one application of the plurality of applications;receive a second voice command from the user that causes the mobiledevice to access a second unit of information from a remote source;input the second unit of information accessed from the remote sourceinto at least one application of the plurality of applications; providea second feedback to the user based at least in part on the second unitof information input into at least one application of the plurality ofapplications; receive a third voice command having a third unit ofinformation; input the third unit of information from the voice commandinto at least one application of the plurality of applications; andprovide a third feedback to the user based at least in part on the thirdunit of information input into at least one application of the pluralityof applications.
 22. The apparatus as recited in claim 21, wherein atleast one of the first, second or third feedback respectively comprisesat least one of the first unit of information, the second unit ofinformation, or the third unit of information.
 23. The apparatus asrecited in claim 22, wherein the first feedback is the first unit ofinformation, the second feedback is the second unit of information, andthe third feedback is the third unit of information.
 24. The apparatusas recited in claim 21, wherein the mobile device further comprises: aprocessor configured to cause the first unit of information to beaccessed, the second unit of information to be input, and the third unitof information to be input; and a voice recognition module configured toconvert a user's speech to text so that at least one of the first,second, and third voice commands can be identified.
 25. The apparatus asrecited in claim 21, wherein the first unit of information is at leastone of a time and a date, and wherein the first unit of information isprovided to the user via a calendar application.
 26. The apparatus asrecited in claim 25, wherein the plurality of applications includes atext messaging application and an email application, and wherein thethird unit of information is input into one of a text messagingapplication, an email application, or the calendar application.
 27. Theapparatus as recited in claim 21, wherein the plurality of applicationsincludes a geographic navigator application, and wherein at least one ofthe first feedback, the second feedback, or the third feedback isprovided to the user via the geographic navigator application.
 28. Theapparatus as recited in claim 21, wherein the first unit of informationis task information and is provided to the user via a task application.29. A system comprising: a mobile device having a plurality ofapplications and configured to receive a first, second, and third inputof user's speech; a voice recognition module configured to respectivelyconvert the first, second, and third input of user's speech to a first,second, and third text; and a processor configured to: identify a first,second, and third command respectively from the first, second and thirdtext; access a first quantity of information based on the first commandidentified from the first text; access a second quantity of informationfrom a database source remote from the mobile device and based on thesecond command identified from the second text; access a third quantityof information based on the third command identified from third text;and provide the accessed information based on at least one the firstcommand, the second command, and the third command to a user via atleast one application of the plurality of applications.
 30. The systemas recited in claim 29, wherein the first quantity of information basedon the first command is information from the first input of user'sspeech and the third quantity of information based on the third commandis information from at least one application of the plurality ofapplications.
 31. The system as recited in claim 30, wherein the mobiledevice comprises the voice recognition module and the processor.
 32. Thesystem as recited in claim 30, wherein the processor is furtherconfigured to allow the user to confirm at least one of the accessedfirst, second, and third quantity of information.
 33. The system asrecited in claim 29 further comprising a voice synthesis moduleconfigured to audibly communicate the provided information to the user.34. The system as recited in claim 29, wherein the provided informationis text information and the at least one application is one of amessaging application and an email application.
 35. The system asrecited in claim 29, wherein the provided information corresponds to aphone number, and wherein the at least one application is a telephoneapplication configured to dial the phone number.
 36. A methodcomprising: employing a voice recognition module to convert a firstinstance of user's speech received at a mobile device into a first text,wherein the mobile device includes a plurality of applications;identifying a first command from the first text; accessing a firstquantity of information from a remote source based on the first command,wherein the first text and the first quantity of information aredistinct from one another; and providing the first quantity ofinformation from the remote source to a user after accessing theinformation.
 37. The method as recited in claim 36 further comprising:accessing a second quantity of information from a second instance ofuser's speech converted to text; inputting the second quantity ofinformation from the second instance of user's speech converted to textinto an application of the plurality of applications; accessing a thirdquantity of information from at least one application from the pluralityof applications based on a third instance of user's speech converted totext; and providing the third quantity of information from the at leastone application to the user.
 38. The method as recited in claim 37,wherein accessing the second quantity of information from a secondinstance of user's speech converted to text comprises accessing at leastone of time and date information.
 39. The method as recited in claim 37,wherein the plurality of applications further comprises a geographicnavigation application.
 40. The method as recited in claim 36 furthercomprising inputting the first quantity of information into anapplication of the plurality of applications, wherein providing thefirst quantity of information to the user comprises providing the firstquantity of information to the user via the application.